PM3.6 - Zero Suit Samus - Action - 0x113 SpecialS

Entry Script

  1. IntVariableSet { variable: RandomAccessInt (0x0), value: 2 }
  2. IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: 2 }
  3. CreateInterrupt { interrupt_id: None, action: Wait, requirement: (AnimationEnd) }
  4. PreviousInterruptAddRequirement(OnGround)
  5. CreateInterrupt { interrupt_id: None, action: Fall, requirement: (AnimationEnd) }
  6. PreviousInterruptAddRequirement(InAir)
  7. GenerateArticle { article_id: 2, subaction_only: true }
  8. if (OnGround)
    1. ChangeSubactionRestartFrame(SpecialS)
    2. UnknownEvent { namespace: 0x10, code: 0x4, unk1: 0x0, arguments: [Value(2), Value(3)] }
    3. UnknownEvent { namespace: 0x10, code: 0x4, unk1: 0x0, arguments: [Value(0), Value(6)] }
    4. SetEdgeSlide(Unknown(2))
    5. SetAirGround(6)
    6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
  9. else
    1. Subroutine(0x20cb0)
    2. DisableInterruptGroup(AirLanding)
    3. ChangeSubactionRestartFrame(SpecialAirS)
    4. UnknownEvent { namespace: 0x10, code: 0x4, unk1: 0x0, arguments: [Value(2), Value(4)] }
    5. UnknownEvent { namespace: 0x10, code: 0x4, unk1: 0x0, arguments: [Value(0), Value(7)] }
    6. SetEdgeSlide(Airbourne)
    7. SetAirGround(10)
    8. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
  10. loop Infinite times:
    1. LoopRest
    2. if (OnGround)
      1. ChangeSubaction(SpecialS)
      2. UnknownEvent { namespace: 0xf, code: 0x4, unk1: 0x0, arguments: [Value(3), Value(1109)] }
      3. SetEdgeSlide(Unknown(2))
      4. SetAirGround(6)
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    3. else
      1. ChangeSubaction(SpecialAirS)
      2. UnknownEvent { namespace: 0xf, code: 0x4, unk1: 0x0, arguments: [Value(3), Value(1109)] }
      3. SetEdgeSlide(Airbourne)
      4. SetAirGround(10)
      5. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }

Exit Script

  1. Subroutine(Offset { offset: 0x19720, origin: 0x19450 })